#include <iostream>
using namespace std;

/**
 * 
平衡数：如果正整数 x 的每一位数字 d 恰好在 x 中出现了 d 次，则认为 x 是平衡数。例如 x=122 ，其中 对于百位数 d=1 ，其中 1 在 122 中总共出现了 1 次，符合条件； 对于十位数 d=2 ，其中 2 在 122 中总共出现了 2 次，符合条件； 对于个位数 d=2 ，其中 2 在 122 中总共出现了 2 次，符合条件； 因为 122 的每一位都符合条件，所以 122 是平衡数。 现在给出两个正整数l,r(l≤r) ，请帮忙求出l∼r 中所有平衡数的和。
输入
输入共一行，两个以空格隔开的正整数 l,r (1≤l≤r≤10000 )。
输出
输出共一行，一个整数，表示l∼r 中所有平衡数的和。
样例输入 复制
1 25
样例输出 复制
23
 */
int balanceNumber(int r){
    int count = 0;
    for(int i = 1; i <= r; ++i){
        int digitCount[10] = {0};
        int x = i;
        while(x > 0){
            int d = x % 10;
            digitCount[d]++;
            x /= 10;
        }
        bool isBalance = true;
        x = i;
        while(x > 0){
            int d = x % 10;
            if(digitCount[d] != d){
                isBalance = false;
                break;
            }
            x /= 10;
        }
        if(isBalance) count += i;
    }
    return count;
}

int main(){
    int l, r;
    cin >> l >> r;
    int sum = 0;
    cout << balanceNumber(r) - balanceNumber(l - 1) << endl;

    return 0;
}